package invoicesystem.service;

import invoicesystem.entry.Order;
import invoicesystem.pojo.OrderForm;

import java.util.ArrayList;

public interface OrderService {
    /**
     *  查询所有订单金额的总和和已经开完发票的订单金额
     * @param enterprise_id 企业id
     * @return  所有订单金额的总和和已经开完发票的订单金额总和
     */
    ArrayList selectSum(Integer enterprise_id);

    /**
     *  根据订单编号，订单总金额（范围），创建时间进行选择查询
     * @param order 订单信息
     * @return 符合条件的信息
     */
    ArrayList<Order> selectOrderByNoOrTotal_amountOrCreate_time(Order order);

    /**
     * 根据登录传过来的企业id，确定企业色历史订单表，查询所有的历史金额
     * 这个是传入数据库的未开票
     * @param eid 登录传过来的企业的id
     * @return
     */
    ArrayList<Order> selectByidAndSttausA(int eid);

    /**
     *据登录传过来的企业id，确定企业色历史订单表，查询所有的历史金额
     * 这个是传入数据库的以开票的数据
     * @param eid 登录传过来的企业的id
     * @return
     */
    ArrayList<Order> selectByidAndSttausB(int eid);

    /**
     * 查询所有的票据
     * @return 返回一个集合
     */
    ArrayList<Order> selectAll(Order order, OrderForm orderForm);
    /**
     *  查询
     * @param enterprise_id 企业id
     * @return  所有订单金额的总和和已经开完发票的订单金额
     */
    ArrayList selectOrder(Integer enterprise_id);

    /**
     * 更新数据
     * @param enterprise_id
     * @param no
     * @return
     */
    boolean updateOrder(int enterprise_id,String no);

    boolean updateOrderno(String no);
}
